package com.freesky.biz.activity.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@Data
@ContentRowHeight(22)
@ColumnWidth(25)
@HeadRowHeight(25)
@HeadStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER,
        verticalAlignment = VerticalAlignmentEnum.CENTER,
        borderLeft= BorderStyleEnum.THIN,
        borderRight= BorderStyleEnum.THIN,
        borderTop= BorderStyleEnum.THIN,
        borderBottom= BorderStyleEnum.THIN)//表头样式
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER,
        verticalAlignment = VerticalAlignmentEnum.CENTER,
        borderLeft= BorderStyleEnum.THIN,
        borderRight= BorderStyleEnum.THIN,
        borderTop= BorderStyleEnum.THIN,
        borderBottom= BorderStyleEnum.THIN)
public class TAlipayActivityConfigExport implements java.io.Serializable {
    private static final long serialVersionUID = 1L;

    @ExcelIgnore
    private String projectName;

    @ExcelIgnore
    private String projectId;

    @ExcelProperty("活动号")
    private String id;

    @ExcelProperty("活动名称")
    private String activityName;

    @ExcelProperty("活动类型")
    private String activityType;

    @ExcelProperty("活动状态")
    private String activityStatus;

    @ExcelProperty("活动开始时间")
    private String beginTime;

    @ExcelProperty("活动结束时间")
    private String endTime;

    @ExcelProperty("总预算（元）")
    private String totalBudget;

    @ExcelProperty("剩余预算（元）")
    private String remainingBudget;

    @ExcelProperty("核销笔数")
    private String usedCount;

    @ExcelProperty("核销金额（元）")
    private String usedAmount;

    @ColumnWidth(15)
    @ExcelProperty("报账金额（元）")
    private Double expenseAmount;

    @ExcelProperty("退款金额（元）")
    private String refundAmount;

    @ExcelProperty("发放笔数")
    private String sendCount;

    @ExcelProperty("发放金额（元)")
    private String sendAmount;

    @ExcelProperty("使用场景")
    private String useScene;

    @ExcelProperty("计次信息")
    private String countLimit;

    @ExcelIgnore
    private String deptId;

    @ExcelIgnore
    private String updateTime;

    @ExcelIgnore
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Map<String, Object> params;
    public Map<String, Object> getParams() {
        if (params == null)
        {
            params = new HashMap<>();
        }
        return params;
    }
    public void setParams(Map<String, Object> params)
    {
        this.params = params;
    }
}
